package com.service.totalauth.service;

import com.service.config.utils.Result;
import com.service.totalauth.dto.UserDto;
import com.service.totalauth.entity.CompanyInfo;
import com.service.totalauth.vo.AddQyCorpInfoDto;
import com.service.totalauth.vo.UpdateQyCorpInfoDto;

import java.util.List;

/**
 * 配置信息表(CompanyInfo)表服务接口
 *
 * @author makejava
 * @since 2021-12-03 09:38:47
 */
public interface CompanyInfoService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    CompanyInfo queryById(String id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<CompanyInfo> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param companyInfo 实例对象
     * @return 实例对象
     */
    CompanyInfo insert(CompanyInfo companyInfo);

    /**
     * 修改数据
     *
     * @param companyInfo 实例对象
     * @return 实例对象
     */
    CompanyInfo update(CompanyInfo companyInfo);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(String id);

    Result addQyCorpInfo(AddQyCorpInfoDto addQyCorpInfoDto, UserDto userDto);

    Result deleteQyCorpInfo(String userId, String qyCorpInfoId);

    Result updateQyCorpInfo(UpdateQyCorpInfoDto updateQyCorpInfoDto);

    Result freshQyCorpInfo(String qyCorpInfoId);

    Result queryByUserId(String userId,Integer type);

    List<CompanyInfo> queryAll(CompanyInfo qyCorpInfo);

    CompanyInfo queryByNumber(String number);

    Result getBindInfo(String WechatId,String userId, Integer type);
}
